import fs from 'node:fs'
import path from 'node:path'
import process from 'node:process'

const __dirname = path.resolve()

async function copyCSS() {
  try {
    const distDir = path.resolve(__dirname, 'dist')
    const distCssDir = path.join(distDir, 'css')
    if (!fs.existsSync(distCssDir)) {
      console.error(`dist/css 目录不存在，请先执行构建。`)
      return
    }

    const files = await fs.promises.readdir(distCssDir)
    const cssFiles = files.filter(file => file !== 'style.css' && file.endsWith('.css') && file.startsWith('style.'))

    if (cssFiles.length === 0) {
      console.error(`dist/css 目录下没有找到 CSS 文件。`)
      return
    }

    if (cssFiles.length > 1) {
      console.warn(`dist/css 目录下找到多个 CSS 文件，将复制第一个：${cssFiles[0]}`)
    }

    const sourceFile = path.join(distCssDir, cssFiles[0])
    const targetDir = path.resolve(__dirname, 'public/css')
    const targetFile = path.join(targetDir, 'style.css')

    const targetDir2 = path.resolve(__dirname, 'dist/css')
    const targetFile2 = path.join(targetDir2, 'style.css')

    if (!fs.existsSync(distCssDir)) {
      console.error(`${distCssDir} 目录不存在，请先执行构建。`)
      return
    }

    fs.copyFileSync(sourceFile, targetFile2)
    fs.copyFileSync(sourceFile, targetFile)

    // eslint-disable-next-line no-console
    console.log(`已将 ${cssFiles[0]} 复制到 ${targetFile}`)
  } 
  catch (error) {
    console.error('复制过程中发生错误：', error)
    process.exit(1)
  }
}

// 直接调用 copyCSS 函数
copyCSS()
